package cn.yuanqiao.archive.formManage.formRule.mapper;

import cn.yuanqiao.archive.formManage.formRule.domain.YqFormRule;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 分单规则Mapper接口
 * 
 * @author yuanqiao
 * @date 2023-06-26
 */
public interface YqFormRuleMapper 
{
    /**
     * 查询分单规则
     * 
     * @param ruleId 分单规则主键
     * @return 分单规则
     */
    public YqFormRule selectYqFormRuleByRuleId(String ruleId);

    /**
     * 查询分单规则列表
     * 
     * @param yqFormRule 分单规则
     * @return 分单规则集合
     */
    public List<YqFormRule> selectYqFormRuleList(YqFormRule yqFormRule);

    /**
     * 新增分单规则
     * 
     * @param yqFormRule 分单规则
     * @return 结果
     */
    public int insertYqFormRule(YqFormRule yqFormRule);

    /**
     * 修改分单规则
     * 
     * @param yqFormRule 分单规则
     * @return 结果
     */
    public int updateYqFormRule(YqFormRule yqFormRule);

    /**
     * 删除分单规则
     * 
     * @param ruleId 分单规则主键
     * @return 结果
     */
    public int deleteYqFormRuleByRuleId(String ruleId);

    /**
     * 批量删除分单规则
     * 
     * @param ruleIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYqFormRuleByRuleIds(String[] ruleIds);


    public int deleteYqFormRuleByGroupRuleId(String ruleId);


    List<YqFormRule> selectYqFormRuleListByGroupId(String groupId);

    List<YqFormRule> selectYqFormRuleListByFormCode(@Param("formCode") String formCode, @Param("tenantCode") String tenantCode);

    List<YqFormRule> listAndNoTenant(YqFormRule yqFormRule);
}
